﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using MobileSales.Model.Params;
using MobileSales.Model.Exceptions;

namespace MobileSales.Server.Services
{
    [ServiceContract(Namespace = "http://MobileSales.Params")]
    public interface IParamService
    {
        #region Param management

        [OperationContract]
        Param GetParam(int paramId);

        [OperationContract]
        [FaultContract(typeof(ValidationException))]
        void StoreParam(Param param);

        [OperationContract]
        [FaultContract(typeof(ValidationException))]
        void RemoveParam(int paramId);

        [OperationContract]
        IEnumerable<Param> GetParamList();

        [OperationContract]
        IEnumerable<Param> GetParamListByType(ParamType paramType);

        #endregion
    }
}
